iT邦幫忙

2024 iThome 鐵人賽

DAY 19
0
Python

30天Python學習之旅系列 第 19

Day 19 : 類別簡單實作 ( 回合制戰鬥遊戲)

  • 分享至 

  • xImage
  •  

今天Python學習的第19天,我要實作的是運用類別製作一個簡單的回合制戰鬥遊戲,會綜合之前所學過的Python知識和技巧。

第一步驟 : 創建角色和角色基本設定

首先創建遊戲角色,玩家是獵人,另一個遊戲角色是反派,初始生命值 500點,攻擊力200點。
防禦的指令:

  1. 格擋可以讓自己的血條損失減半。
  2. 閃避有成功或失敗的機率,所以使用random模組進行隨機,閃避成功就不會扣血條,若閃避失敗就要扣攻擊方的全部點數。
  3. 使用Random模組的choice函式,隨機回傳0或1其中一個數字,作為攻擊力的加權比重。
    https://ithelp.ithome.com.tw/upload/images/20241002/20169078pURGU4s4Va.png
  4. 獵人攻擊:
  • 普通攻擊預設值200點
  • 特殊攻擊傷害值較高,但精準度不高,導致傷害值減半,所以使用random.choice 隨機回傳300和100這兩個傷害值的其中一種
  1. 反派攻擊:
  • 普通攻擊預設值180點
  • 特殊攻擊和獵人一樣的機率,不過是回傳320和100這兩個傷害值的其中一種
    https://ithelp.ithome.com.tw/upload/images/20241002/20169078OpMN4KivUM.png

遊戲進行的流程

  1. 反派所受到的實際傷害必須考量到他是採取何種防禦方式,所以建立一個變數隨機抽取1或2其中一個數字,再把數字帶入到反派的防禦函式中,產生權重值。
  2. 回合制的戰鬥會一直持續進行到某方落敗,所以使用使用While Loop迴圈
  3. 由於玩家輸入的攻擊指令是數字,所以要修改前面if條件式後面的指令條件,改成1或2。
    https://ithelp.ithome.com.tw/upload/images/20241002/20169078naCJ7uZHyx.png
    https://ithelp.ithome.com.tw/upload/images/20241002/20169078yECsbMRwRx.png

遊戲最終結果

  1. 獵人角色:庫拉皮卡(Kurapika)
  2. 反派角色:西索(Hisoka)
    範例:
    https://ithelp.ithome.com.tw/upload/images/20241002/20169078eItfZqVRrN.png
    https://ithelp.ithome.com.tw/upload/images/20241002/20169078HBNALIyNyK.png

上一篇
Day 18 : 模組簡單實作 ( 密碼產生器 & 城市氣溫查詢)
下一篇
Day 20 : 列表、集合和元祖簡單實作 ( 購物車)
系列文
30天Python學習之旅30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言